package page

// PageResult 分页结果
type PageResult[T any] struct {
	Records    []T   `json:"records"`    // 数据列表
	Total      int64 `json:"total"`      // 数据总数
	TotalPages int   `json:"totalPages"` // 页总数
	Current    int   `json:"current"`    // 当前页
	Size       int   `json:"size"`       // 页大小
}

// NewPageResult 创建一个新的 PageResult 实例
func NewPageResult[T any](records []T, total int64, totalPages int, current int, size int) *PageResult[T] {
	return &PageResult[T]{
		Records:    records,
		Total:      total,
		TotalPages: totalPages,
		Current:    current,
		Size:       size,
	}
}
